<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>广州红色旅游行程规划</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            background-color: #f9fafb;
            color: #374151;
            line-height: 1.6;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 1rem;
        }

        /* 头部样式 */
        .header {
            background: white;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
            padding: 1.5rem 0;
            margin-bottom: 2rem;
        }

        .header h1 {
            font-size: 2rem;
            font-weight: bold;
            color: #991b1b;
            margin-bottom: 0.5rem;
        }

        .header p {
            color: #6b7280;
        }

        /* 日期选择器 */
        .date-selector {
            background: white;
            border-radius: 0.5rem;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
            padding: 1.5rem;
            margin-bottom: 1.5rem;
        }

        .date-selector h2 {
            font-size: 1.25rem;
            font-weight: 600;
            color: #1f2937;
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
        }

        .date-selector h2::before {
            content: '🛣️';
            margin-right: 0.5rem;
        }

        .date-buttons {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 1rem;
        }

        .date-btn {
            padding: 1rem;
            border: none;
            border-radius: 0.5rem;
            background: #f3f4f6;
            color: #374151;
            cursor: pointer;
            transition: all 0.2s;
            text-align: center;
        }

        .date-btn.active {
            background: #dc2626;
            color: white;
            transform: scale(1.05);
            box-shadow: 0 4px 12px rgba(153, 27, 27, 0.3);
        }

        .date-btn:hover {
            background: #e5e7eb;
        }

        .date-btn.active:hover {
            background: #b91c1c;
        }

        .date-btn .day {
            font-weight: 600;
            font-size: 1.1rem;
        }

        .date-btn .theme {
            font-size: 0.9rem;
            opacity: 0.8;
            margin-top: 0.25rem;
        }

        /* 当前日期信息 */
        .current-day {
            background: white;
            border-radius: 0.5rem;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
            padding: 1.5rem;
            margin-bottom: 1.5rem;
        }

        .current-day h3 {
            font-size: 1.5rem;
            font-weight: bold;
            color: #991b1b;
            margin-bottom: 0.5rem;
        }

        .current-day p {
            color: #6b7280;
        }

        /* 路线版本选择器 */
        .version-selector {
            background: white;
            border-radius: 0.5rem;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
            padding: 1.5rem;
            margin-bottom: 1.5rem;
        }

        .version-selector h2 {
            font-size: 1.25rem;
            font-weight: 600;
            color: #1f2937;
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
        }

        .version-selector h2::before {
            content: '🗺️';
            margin-right: 0.5rem;
        }

        .version-buttons {
            display: flex;
            gap: 1rem;
            flex-wrap: wrap;
        }

        .version-btn {
            padding: 0.75rem 1.5rem;
            border: none;
            border-radius: 0.5rem;
            background: #f3f4f6;
            color: #374151;
            cursor: pointer;
            transition: all 0.2s;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .version-btn.active {
            background: #dc2626;
            color: white;
            box-shadow: 0 4px 12px rgba(153, 27, 27, 0.3);
        }

        .version-btn:hover {
            background: #e5e7eb;
        }

        .version-btn.active:hover {
            background: #b91c1c;
        }

        /* 鱼骨图容器 */
        .fishbone-container {
            background: white;
            border-radius: 0.5rem;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
            padding: 1.5rem;
            margin-bottom: 1.5rem;
        }

        .fishbone-diagram {
            position: relative;
            width: 100%;
            min-height: 280px;
            background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
            border-radius: 0.5rem;
            overflow: hidden;
        }

        .fishbone-svg {
            width: 100%;
            height: 100%;
        }

        .fishbone-point {
            cursor: pointer;
            transition: all 0.2s;
        }

        .fishbone-point:hover {
            stroke: #b91c1c;
            stroke-width: 3;
            transform: scale(1.05);
        }
        
        /* 鱼骨图上的点 */
        .fishbone-point.fishbone-1 {
            fill: #dc2626;
            stroke: #b91c1c;
        }
        
        .fishbone-point.fishbone-0 {
            fill: #ef4444;
            stroke: #dc2626;
            opacity: 0.7;
        }

        .fishbone-text {
            font-weight: 500;
            text-anchor: middle;
            dominant-baseline: middle;
            pointer-events: none;
        }

        /* 景点列表容器 */
        .attractions-container {
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
            margin-bottom: 1.5rem;
        }
        
        /* 景点列表 - 精华和拓展分开的框 */
        .attractions-section {
            background: white;
            border-radius: 0.5rem;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
            padding: 1.5rem;
        }
        
        /* 精华景点标题带有特殊标记 */
        .attractions-section.highlight h3 {
            display: flex;
            align-items: center;
        }
        
        .attractions-section.highlight h3::after {
            content: "★ 推荐体验";
            margin-left: 0.75rem;
            font-size: 0.875rem;
            font-weight: 500;
            color: #ffffff;
            background-color: #dc2626;
            padding: 0.25rem 0.75rem;
            border-radius: 999px;
        }

        .attractions-section h3 {
            font-size: 1.25rem;
            font-weight: 600;
            color: #991b1b;
            margin-bottom: 1rem;
        }

        .attractions-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 1rem;
        }

        .attraction-card {
            border: 1px solid #e5e7eb;
            border-radius: 0.5rem;
            padding: 1rem;
            cursor: pointer;
            transition: all 0.2s;
            display: flex;
            flex-direction: column;
        }
        
        /* 鱼骨图关联标记样式 */
        .attraction-card.fishbone-1 {
            border-color: #dc2626;
            box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.2);
        }
        
        .attraction-card.fishbone-0 {
            border-color: #ef4444;
            box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2);
            opacity: 0.9;
        }
        
        .fishbone-marker {
            display: inline-block;
            padding: 0.25rem 0.5rem;
            border-radius: 0.25rem;
            font-size: 0.75rem;
            font-weight: 600;
            margin-right: 0.5rem;
        }
        
        .fishbone-marker-1 {
            background-color: #dc2626;
            color: white;
        }
        
        .fishbone-marker-0 {
            background-color: #ef4444;
            color: white;
        }
        
        .attraction-image {
            width: 100%;
            height: 160px;
            object-fit: cover;
            border-radius: 0.5rem;
            margin-bottom: 1rem;
        }

        .attraction-card:hover {
            box-shadow: 0 4px 12px rgba(220, 38, 38, 0.2);
            transform: translateY(-2px);
        }

        .attraction-card h4 {
            font-weight: 600;
            color: #1f2937;
            margin-bottom: 0.5rem;
            display: flex;
            align-items: center;
        }

        .attraction-card p {
            font-size: 0.875rem;
            color: #6b7280;
            margin-bottom: 0.5rem;
        }

        .attraction-meta {
            display: flex;
            align-items: center;
            font-size: 0.875rem;
            color: #9ca3af;
            gap: 1rem;
            margin-top: auto;
        }

        .attraction-meta span {
            display: flex;
            align-items: center;
            gap: 0.25rem;
        }

        /* 详情页面 */
        .detail-page {
            display: none;
            min-height: 100vh;
            background: #f9fafb;
        }

        .detail-page.active {
            display: block;
        }

        .detail-header {
            background: white;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
            padding: 1rem 0;
        }

        .back-btn {
            display: flex;
            align-items: center;
            color: #dc2626;
            text-decoration: none;
            font-weight: 500;
            transition: color 0.2s;
        }

        .back-btn:hover {
            color: #b91c1c;
        }

        .back-btn::before {
            content: '←';
            margin-right: 0.5rem;
        }

        .detail-content {
            padding: 2rem 0;
        }

        .detail-card {
            background: white;
            border-radius: 0.5rem;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
            overflow: hidden;
        }

        .detail-hero {
            background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
            color: white;
            padding: 2rem;
        }

        .detail-hero h1 {
            font-size: 2rem;
            font-weight: bold;
            margin-bottom: 0.5rem;
        }

        .detail-hero p {
            font-size: 1.125rem;
            opacity: 0.9;
            margin-bottom: 1rem;
        }

        .detail-meta {
            display: flex;
            align-items: center;
            gap: 1rem;
        }

        .detail-meta span {
            display: flex;
            align-items: center;
            gap: 0.25rem;
        }

        .detail-body {
            padding: 1.5rem;
        }

        /* 地址信息 */
        .location-info {
            background: #fee2e2;
            border-left: 4px solid #dc2626;
            padding: 1rem;
            margin-bottom: 2rem;
            border-radius: 0 0.5rem 0.5rem 0;
        }

        .location-info h2 {
            font-size: 1.25rem;
            color: #991b1b;
            margin-bottom: 0.5rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .location-info h2::before {
            content: '📍';
        }

        .location-info p {
            color: #374151;
            margin-bottom: 0.25rem;
        }

        /* 复制按钮样式 */
        .copy-container {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            margin-bottom: 0.25rem;
        }
        
        .copy-btn {
            background: #dc2626;
            color: white;
            border: none;
            border-radius: 0.25rem;
            padding: 0.25rem 0.5rem;
            cursor: pointer;
            font-size: 0.875rem;
            transition: background 0.2s;
        }
        
        .copy-btn:hover {
            background: #b91c1c;
        }
        
        .copy-success {
            color: #166534;
            font-size: 0.875rem;
            display: none;
        }

        .detail-section {
            margin-bottom: 2rem;
        }

        .detail-section h2 {
            font-size: 1.25rem;
            font-weight: 600;
            color: #991b1b;
            margin-bottom: 1rem;
        }

        .detail-section h3 {
            font-size: 1.125rem;
            font-weight: 600;
            color: #1f2937;
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
        }

        .detail-section h3::before {
            content: '📷';
            margin-right: 0.5rem;
        }

        .images-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 1rem;
        }


        .tips-box {
            background: #fee2e2;
            border-radius: 0.5rem;
            padding: 1rem;
            margin-top: 1.5rem;
        }

        .tips-box h3 {
            font-weight: 600;
            color: #991b1b;
            margin-bottom: 0.5rem;
        }

        .tips-box ul {
            color: #991b1b;
            padding-left: 1rem;
        }

        .tips-box li {
            margin-bottom: 0.25rem;
        }

        .detail-description {
            line-height: 1.8;
            color: #374151;
        }

        .detail-description p {
            margin-bottom: 1rem;
        }

        /* 高亮的跳转按钮样式 */
        .wiki-links {
            margin-top: 3rem;
            padding-top: 2rem;
            border-top: 1px solid #e5e7eb;
            display: flex;
            gap: 1.5rem;
            justify-content: center;
        }

        .wiki-btn {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: #dc2626;
            color: white;
            border: none;
            border-radius: 0.5rem;
            padding: 0.75rem 1.5rem;
            font-weight: 600;
            font-size: 1rem;
            cursor: pointer;
            text-decoration: none;
            transition: all 0.3s ease;
            box-shadow: 0 4px 6px -1px rgba(153, 27, 27, 0.2);
        }

        .wiki-btn:hover {
            background: #b91c1c;
            transform: translateY(-2px);
            box-shadow: 0 10px 15px -3px rgba(153, 27, 27, 0.2);
        }

        .wiki-btn::before {
            font-size: 1.25rem;
        }

        .baidu-btn::before {
            content: '🔍';
        }

        .wiki-btn::before {
            content: '📚';
        }

        @media (max-width: 768px) {
            .header h1 {
                font-size: 1.5rem;
            }
            
            .date-buttons {
                grid-template-columns: repeat(2, 1fr);
            }
            
            .version-buttons {
                flex-direction: column;
            }
            
            .version-btn {
                width: 100%;
                justify-content: center;
            }
            
            .fishbone-diagram {
                height: 220px;
            }
            
            .attractions-grid {
                grid-template-columns: 1fr;
            }
            
            .detail-hero h1 {
                font-size: 1.5rem;
            }
            
            .detail-meta {
                flex-direction: column;
                align-items: flex-start;
                gap: 0.5rem;
            }

            .wiki-links {
                flex-direction: column;
                gap: 1rem;
            }

            .wiki-btn {
                width: 100%;
                justify-content: center;
            }
        }
    </style>
</head>
<body>
    <!-- 主页面 -->
    <div id="mainPage">
        <!-- 头部 -->
        <div class="header">
            <div class="container">
                <h1>广州红色旅游行程规划</h1>
                <p>选择不同路线，查看精心安排的旅游景点</p>
            </div>
        </div>

        <div class="container">
            <!-- 日期选择器 -->
            <div class="date-selector">
                <h2>选择游览路线</h2>
                <div class="date-buttons">
                    <button class="date-btn active" data-day="1">
                        <div class="day">近代抗争与辛亥革命（1840-1911）</div>
                        
                    </button>
                    <button class="date-btn" data-day="2">
                        <div class="day">国共合作与工运浪潮（1920-1927）</div>
                        
                    </button>
                    <button class="date-btn" data-day="3">
                        <div class="day">革命起义与军事摇篮（1927-1949）</div>
                        
                    </button>
                    <button class="date-btn" data-day="4">
                        <div class="day">殖民历史与宗教建筑</div>
                        
                    </button>
                </div>
            </div>

            <!-- 当前日期信息 -->
            <div class="current-day">
                <h3 id="currentTitle">近代抗争与辛亥革命（1840-1911）</h3>
                <p>点击鱼骨图中的景点图标，查看详细介绍</p>
            </div>

            <!-- 鱼骨图 -->
            <div class="fishbone-container">
                <div class="fishbone-diagram">
                    <svg class="fishbone-svg" viewBox="0 0 800 300" preserveAspectRatio="xMidYMid meet">
                        <!-- 主骨干 -->
                        <line x1="80" y1="150" x2="720" y2="150" stroke="#dc2626" stroke-width="4" />
                        <!-- 鱼头 -->
                        <polygon points="720,160 720,140 740,150" fill="#dc2626" />
                    </svg>
                </div>
            </div>

            <!-- 路线版本选择器 -->
            <div class="version-selector">
                <h2>选择路线版本</h2>
                <div class="version-buttons">
                    <button class="version-btn active" data-version="highlight">
                        <span>⭐</span> 精华版
                    </button>
                    <button class="version-btn" data-version="full">
                        <span>📋</span> 完整版
                    </button>
                </div>
            </div>

            <!-- 景点概览 -->
            <div class="attractions-container" id="attractionsContainer">
                <!-- 精华景点 -->
                <div class="attractions-section highlight" id="highlightSection">
                    <h3>精华景点</h3>
                    <div class="attractions-grid" id="highlightAttractionsGrid">
                        <!-- 精华景点卡片将通过JavaScript动态生成 -->
                    </div>
                </div>
                
                <!-- 拓展景点 -->
                <div class="attractions-section" id="extendedSection">
                    <h3>拓展景点</h3>
                    <div class="attractions-grid" id="extendedAttractionsGrid">
                        <!-- 拓展景点卡片将通过JavaScript动态生成 -->
                    </div>
                </div>
                
                <!-- 完整版景点容器 -->
                <div class="attractions-section" id="fullSection" style="display: none;">
                    <h3>路线景点预览</h3>
                    <div class="attractions-grid" id="fullAttractionsGrid">
                        <!-- 完整版景点卡片将通过JavaScript动态生成 -->
                    </div>
                </div>
            </div>

            <!-- 主页面底部添加跳转按钮 -->
            <div style="text-align: center; margin: 3rem 0; padding-top: 2rem; border-top: 1px solid #e5e7eb;">
                <button class="wiki-btn" id="transportBtn">
                    交通方式备注
                </button>
            </div>
        </div>
    </div>

    <!-- 详情页面 -->
    <div id="detailPage" class="detail-page">
        <div class="detail-header">
            <div class="container">
                <a href="#" class="back-btn" onclick="showMainPage()">返回主页</a>
            </div>
        </div>
        
        <div class="container">
            <div class="detail-content">
                <div class="detail-card">
                    <div class="detail-hero">
                        <h1 id="detailTitle">景点名称</h1>
                        <p id="detailDescription">景点描述</p>
                        <div class="detail-meta">
                            <span>⭐ <span id="detailRating">4.5</span></span>
                            <span>🕒 <span id="detailTime">开放时间</span></span>
                        </div>
                    </div>
                    
                    <div class="detail-body">
                        <!-- 地址信息放在最前面 -->
                        <div class="location-info">
                            <h2>地址信息</h2>
                            <div class="copy-container">
                                <p id="detailAddress">地址信息将在这里显示</p>
                                <button class="copy-btn" onclick="copyToClipboard('detailAddress')">复制</button>
                                <span class="copy-success" id="addressSuccess">已复制!</span>
                            </div>
                            <div class="copy-container">
                                <p id="detailTransport">交通信息将在这里显示</p>
                                <button class="copy-btn" onclick="copyToClipboard('detailTransport')">复制</button>
                                <span class="copy-success" id="transportSuccess">已复制!</span>
                            </div>
                        </div>
                        
                        <!-- 详细介绍 -->
                        <div class="detail-section">
                            <h2>景点介绍</h2>
                            <div class="detail-description" id="detailDetails">
                                详细介绍内容
                            </div>
                        </div>
                        
                        <!-- 精彩图片 -->
                        <div class="detail-section">
                            <h2>精彩图片</h2>
                            <div class="images-grid" id="imagesGrid">
                                <!-- 图片将通过JavaScript动态生成 -->
                            </div>
                        </div>
                        
                        <!-- 高亮的跳转按钮 -->
                        <div class="wiki-links">
                            <a href="#" class="wiki-btn baidu-btn" id="baiduLink" target="_blank">查看百度百科</a>
                            <a href="#" class="wiki-btn" id="wikiLink" target="_blank">查看维基百科</a>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    
<script>
        // 景点数据 - 分离地址信息
        const dayData = {
            1: {
                title: "近代抗争与辛亥革命（1840-1911）",
                attractions: [
                    {
                        id: 1,
                        name: "中山纪念堂",
                        description: "见证两次护法运动的重要场所",
                        address: "越秀区东风中路299号",
                        transport: "地铁：纪念堂站（2号线）C口直达",
                        details: `相关历史事件为两次护法运动。背景：（1）袁世凯夺取革命果实后，1913年8月11日龙济光出任广东都督兼署民政长。统治期间，邓铿、朱执信、钟明光等义士的讨龙斗争接连失败。直到1916年，北京政府在广东各界的压力下，被迫更改龙济光任命，陆荣廷进入广州，龙济光统治结束，进入桂系军阀据粤时期。<br><br>（2）1916年袁世凯病死后，发生府院之争；1917年7月，张勋复辟；7月6日，段祺瑞“再造共和”，却拒绝恢复《中华民国临时约法》和召开国会。<br><br>过程：（1）1917年7月17日，孙中山到达广州。7月22日，程璧光率海军从上海奔赴广州进行护法。海军的到来，为护法增添了重要的有生力量。<br><br>（2）8月上旬，赞成护法的国会议员陆续来到广州。因不足法定人数，乃效法法国大革命前夕第三等级代表举行国民会议的先例，取名"国会非常会议"，俗称非常国会。9月1日，孙中山当选为军政府大元帅，陆荣廷、唐继尧当选为元帅。9月10日，孙中山宣誓就任大元帅职，军政府正式成立。<br><br>（3）桂、直、滇系军阀勾结，西南军阀步步紧逼，排斥孙中山，使他被迫于1918年5月4日辞大元帅职，第一次护法运动失败。<br><br>（4）1920年，孙中山确定“联系段祺瑞扫除桂在广东统治，再图统一”的方针，陈炯明率粤军结束了桂系军阀在广东统治，军政府成立。<br><br>（5）重开非常国会，撤销军政府，设总统府，护法政府第二次组建。<br><br>（6）1921年8月，扫清桂系军阀，两广统一，准备北伐。陈炯明却借机公然兵变，第二次护法运动失败。`,
                        openTime: "开放时间信息待补充",
                        rating: 4.8,
                        images: ["图片/中山纪念堂.jpg"],
                        baiduUrl: "https://baike.baidu.com/item/中山纪念堂",
                        wikiUrl: "https://zh.wikipedia.org/wiki/广州中山纪念堂",
                        fishbone: 1
                    },
                    {
                        id: 2,
                        name: "三·二九起义指挥部旧址",
                        description: "1911年黄花岗起义的策划地",
                        address: "越秀区越华路小东营15号",
                        transport: "地铁：农讲所站（1号线）A口步行10分钟",
                        details: `这里是1911年黄花岗起义的策划地。黄花岗起义过程：<br><br>1910.3.孙中山向黄兴提出在广州再次发动起义的建议；<br><br>1910.11.13.槟榔屿会议，孙中山等决定筹集巨款，在广州再次起义；<br><br>1911.1底，同盟会在香港成立领导起义的统筹部。实行部设于广州摆花街，制作炸弹及暗杀之用；<br><br>4月8日，统筹部在香港开会，预订4月13日举行广州起义；（黄兴、林觉民、方声洞写下遗书）<br><br>4月27日（农历三月二十九，因此又叫黄花岗之役|三二九起义）起义开始；<br><br>起义失败，清吏开展大肆搜捕行动；<br><br>意义：“直可惊天地，泣鬼神与武昌革命之役并寿”，广州是资产阶级民主革命的策源地。`,
                        openTime: "开放时间信息待补充",
                        rating: 4.9,
                        images: ["旧址外观", "内部陈列", "历史照片", "起义地图"],
                        baiduUrl: "https://baike.baidu.com/item/三二九起义指挥部旧址",
                        wikiUrl: "https://zh.wikipedia.org/wiki/三二九起义指挥部旧址",
                        fishbone: 0
                    },
                    {
                        id: 3,
                        name: "黄花岗七十二烈士墓园",
                        description: "纪念1911年黄花岗起义牺牲的72位革命党人",
                        address: "越秀区先烈中路79号",
                        transport: "地铁：黄花岗站（6号线）B口步行5分钟",
                        details: `该墓园是为纪念1911年黄花岗起义牺牲的72位革命党人而建，孙中山称此役“惊天地，泣鬼神”。<br><br>黄花岗起义过程：<br><br>1910.3.孙中山向黄兴提出在广州再次发动起义的建议；<br><br>1910.11.13.槟榔屿会议，孙中山等决定筹集巨款，在广州再次起义；<br><br>1911.1底，同盟会在香港成立领导起义的统筹部。实行部设于广州摆花街，制作炸弹及暗杀之用；<br><br>4月8日，统筹部在香港开会，预订4月13日举行广州起义；（黄兴、林觉民、方声洞写下遗书）<br><br>4月27日（农历三月二十九，因此又叫黄花岗之役|三二九起义）起义开始；<br><br>起义失败，清吏开展大肆搜捕行动；<br><br>意义：“直可惊天地，泣鬼神与武昌革命之役并寿”，广州是资产阶级民主革命的策源地。`,
                        openTime: "开放时间信息待补充",
                        rating: 4.7,
                        images: ["墓园全景", "烈士墓碑", "纪念碑", "纪念雕塑"],
                        baiduUrl: "https://baike.baidu.com/item/黄花岗七十二烈士墓园",
                        wikiUrl: "https://zh.wikipedia.org/wiki/黄花岗七十二烈士墓园",
                        fishbone: 1
                    },
                    {
                        id: 4,
                        name: "三元里人民抗英斗争纪念馆",
                        description: "纪念三元里抗英这一中国近代首次大规模反侵略胜利事件",
                        address: "白云区广园中路34号",
                        transport: "地铁：三元里站（2号线）A1口步行10分钟",
                        details: `相关历史事件为三元里抗英。<br><br>背景：三元里是广州北部的一个村庄，英军侵占广州北沿各炮台后，在三元里无恶不作。三元里一带农名议决联合抗英，附件103乡上万民众集结在北帝庙的“三星旗”下，自发武装反抗斗争。<br><br>过程：农民武装的一支分队佯攻四方炮台，（电闪雷鸣）在牛栏冈设伏；来自番禺、南海、花县、增城、从化等地四百余乡的民众1.2 - 1.5万人又陆续前来包围四方炮台等英驻地；6月1日，英军乘船撤往虎门；<br><br>意义：1841年这次民众自发抗击英军的事件，是中国近代首次大规模反侵略胜利。对近代中国人民反对侵略、保卫国家的民族解放运动有着极其重要的意义。第一次高举民族解放大旗的三元里人民，为英雄广州争得了不朽的荣誉。（以社学、街约的形式组织团练团勇，抗击外来侵略者）`,
                        openTime: "开放时间信息待补充",
                        rating: 4.6,
                        images: ["纪念馆外观", "内部展览", "抗英浮雕", "历史图片"],
                        baiduUrl: "https://baike.baidu.com/item/三元里人民抗英斗争纪念馆",
                        wikiUrl: "https://zh.wikipedia.org/wiki/三元里抗英斗争",
                        fishbone: 0
                    }
                ]
            },


            // 景点数据 - 分离地址信息
            2: {
                title: "国共合作与工运浪潮（1920-1927）",
                attractions: [
                    {
                        id: 5,
                        name: "中华全国总工会旧址",
                        description: "1925年成立的中国工运核心机构，领导省港大罢工",
                        address: "越秀区越秀南路89号",
                        transport: "地铁：团一大广场站（6号线）A口步行3分钟",
                        details: `中华全国总工会旧址相关历史事件为省港大罢工。<br><br>背景：（1）沙面罢工后中华全国总工会成立，中国工人运动由低潮转向复苏。（2）1925年5月30日，上海五卅惨案。<br><br>过程：（1）1925年6月2日，援助沪案示威大会召开。（2）6月上旬，邓中夏、杨殷、杨匏安为代表赴香港联系和发动香港工人罢工，冯菊坡、刘尔崧、周文雍等负责组织发动广州工人罢工，以促成省港联合大罢工的强大声势。（3）6月19日，省港大罢工爆发。首先发动的是苏兆征等领导的香港海员、电车、印刷等行业的工人，其他行业群起响应，仅15天内罢工人数即达25万。（4）6月21日，广州沙面租界工人在中华全国总工会领导下，宣布罢工，广州市英、日、美洋行及私人住宅雇佣的中国工人纷纷加入罢工行列。香港罢工工人纷纷离港回到广州，与广州的罢工斗争合流。（5）6月23日，省港罢工工人和广州的工农商学兵各界共十万人集会东较场。下午一时半，举行反帝大游行。当游行队伍的前队转入内街，后队行至沙基西桥口的时候，沙面英国军警突然向游行队伍排枪射击，停泊在白鹅潭的英、法、葡等国军舰也发炮轰击，酿成震惊中外的"沙基惨案"。（6）广东各界纷纷召开各种会议，一致支援罢工。（7）1925年7月3日，在广州东园成立了省港罢工委员会。15日，又选举产生了省港罢工工人代表大会。（8）为了孤立和打击港英帝国主义，罢工委员会组织了二千到五千多人的工人武装纠察队，抵制外货。随后又把全面封锁抵制外货的办法，改变为单纯对英封锁的策略，这一新策略，迅速取得预期效果。<br><br>结果：随着北伐战争的胜利进行，原来罢工封锁的策略已经不能适应当前斗争形势的变化，不利于对北伐战争的支援。1926年10月10日，发表关于停止封锁香港的布告，历时16个月之久的省港大罢工至此宣告结束。<br><br>意义：是大革命中中国工人运动达到高潮的重要标志。`,
                        openTime: "开放时间信息待补充",
                        rating: 4.7,
                        images: ["总工会旧址外观", "内部展厅", "历史照片", "相关文物"],
                        baiduUrl: "https://baike.baidu.com/item/中华全国总工会旧址",
                        wikiUrl: "https://zh.wikipedia.org/wiki/中华全国总工会旧址",
                        fishbone: 1
                    },
                    {
                        id: 6,
                        name: "省港罢工纪念馆（东园）",
                        description: "1925年省港大罢工指挥部，持续16个月的工运壮举",
                        address: "越秀区东园横路3号",
                        transport: "地铁：团一大广场站（6号线）A口步行5分钟",
                        details: `省港罢工纪念馆（东园）曾是1925年省港大罢工指挥部，见证了这场持续16个月的工运壮举。<br><br>省港大罢工背景：（1）沙面罢工后中华全国总工会成立，中国工人运动由低潮转向复苏。（2）1925年5月30日，上海五卅惨案。<br><br>过程：（1）1925年6月2日，援助沪案示威大会召开。（2）6月上旬，邓中夏、杨殷、杨匏安为代表赴香港联系和发动香港工人罢工，冯菊坡、刘尔崧、周文雍等负责组织发动广州工人罢工，以促成省港联合大罢工的强大声势。（3）6月19日，省港大罢工爆发。首先发动的是苏兆征等领导的香港海员、电车、印刷等行业的工人，其他行业群起响应，仅15天内罢工人数即达25万。（4）6月21日，广州沙面租界工人在中华全国总工会领导下，宣布罢工，广州市英、日、美洋行及私人住宅雇佣的中国工人纷纷加入罢工行列。香港罢工工人纷纷离港回到广州，与广州的罢工斗争合流。（5）6月23日，省港罢工工人和广州的工农商学兵各界共十万人集会东较场。下午一时半，举行反帝大游行。当游行队伍的前队转入内街，后队行至沙基西桥口的时候，沙面英国军警突然向游行队伍排枪射击，停泊在白鹅潭的英、法、葡等国军舰也发炮轰击，酿成震惊中外的"沙基惨案"。（6）广东各界纷纷召开各种会议，一致支援罢工。（7）1925年7月3日，在广州东园成立了省港罢工委员会。15日，又选举产生了省港罢工工人代表大会。（8）为了孤立和打击港英帝国主义，罢工委员会组织了二千到五千多人的工人武装纠察队，抵制外货。随后又把全面封锁抵制外货的办法，改变为单纯对英封锁的策略，这一新策略，迅速取得预期效果。<br><br>结果：随着北伐战争的胜利进行，原来罢工封锁的策略已经不能适应当前斗争形势的变化，不利于对北伐战争的支援。1926年10月10日，发表关于停止封锁香港的布告，历时16个月之久的省港大罢工至此宣告结束。<br><br>意义：是大革命中中国工人运动达到高潮的重要标志。`,
                        openTime: "开放时间信息待补充",
                        rating: 4.6,
                        images: ["纪念馆外观", "罢工场景复原", "历史文献", "东园旧址"],
                        baiduUrl: "https://baike.baidu.com/item/省港罢工纪念馆",
                        wikiUrl: "https://zh.wikipedia.org/wiki/省港罢工纪念馆",
                        fishbone: 0
                    },
                    {
                        id: 7,
                        name: "中共广东区委旧址纪念馆",
                        description: "1922年成立的中共广东区委，周恩来、陈延年曾在此工作",
                        address: "越秀区文明路194-200号",
                        transport: "地铁：农讲所站（1号线）A口步行5分钟",
                        details: `中共广东区委旧址纪念馆与省港大罢工这一重要历史事件相关。<br><br>省港大罢工背景：（1）沙面罢工后中华全国总工会成立，中国工人运动由低潮转向复苏。（2）1925年5月30日，上海五卅惨案。<br><br>过程：（1）1925年6月2日，援助沪案示威大会召开。（2）6月上旬，邓中夏、杨殷、杨匏安为代表赴香港联系和发动香港工人罢工，冯菊坡、刘尔崧、周文雍等负责组织发动广州工人罢工，以促成省港联合大罢工的强大声势。（3）6月19日，省港大罢工爆发。首先发动的是苏兆征等领导的香港海员、电车、印刷等行业的工人，其他行业群起响应，仅15天内罢工人数即达25万。（4）6月21日，广州沙面租界工人在中华全国总工会领导下，宣布罢工，广州市英、日、美洋行及私人住宅雇佣的中国工人纷纷加入罢工行列。香港罢工工人纷纷离港回到广州，与广州的罢工斗争合流。（5）6月23日，省港罢工工人和广州的工农商学兵各界共十万人集会东较场。下午一时半，举行反帝大游行。当游行队伍的前队转入内街，后队行至沙基西桥口的时候，沙面英国军警突然向游行队伍排枪射击，停泊在白鹅潭的英、法、葡等国军舰也发炮轰击，酿成震惊中外的"沙基惨案"。（6）广东各界纷纷召开各种会议，一致支援罢工。（7）1925年7月3日，在广州东园成立了省港罢工委员会。15日，又选举产生了省港罢工工人代表大会。（8）为了孤立和打击港英帝国主义，罢工委员会组织了二千到五千多人的工人武装纠察队，抵制外货。随后又把全面封锁抵制外货的办法，改变为单纯对英封锁的策略，这一新策略，迅速取得预期效果。<br><br>结果：随着北伐战争的胜利进行，原来罢工封锁的策略已经不能适应当前斗争形势的变化，不利于对北伐战争的支援。1926年10月10日，发表关于停止封锁香港的布告，历时16个月之久的省港大罢工至此宣告结束。<br><br>意义：是大革命中中国工人运动达到高潮的重要标志。<br><br>此外，该旧址是1922年成立的中共广东区委所在地，周恩来、陈延年等曾在此工作，为广东地区的革命运动发展作出了重要贡献。`,
                        openTime: "开放时间信息待补充",
                        rating: 4.8,
                        images: ["旧址外貌", "周恩来工作场景", "陈延年事迹展", "历史资料"],
                        baiduUrl: "https://baike.baidu.com/item/中共广东区委旧址纪念馆",
                        wikiUrl: "https://zh.wikipedia.org/wiki/中共广东区委旧址",
                        fishbone: 0
                    },
                    {
                        id: 8,
                        name: "杨匏安旧居陈列馆（杨家祠）",
                        description: "华南地区最早系统介绍马克思主义者的旧居，广东早期党组织活动据点",
                        address: "越秀区越华路116号",
                        transport: "地铁：公园前站（1/2号线）F口步行8分钟",
                        details: `杨匏安旧居陈列馆（杨家祠）有着丰富的历史。1896年11月，杨匏安出生于广东省香山县南屏乡北山村一个破落的茶商家庭，其父在他童年时就病逝了，留下孤儿寡妇。<br><br>童年时代，杨匏安在本乡恭都学堂上学。小学毕业后，家里卖了田地，托亲戚带他到广州，考进华南最有名的学府：两广高等学堂的预科。在校期间，广泛接触了各种社会先进思潮。<br><br>1911年辛亥革命爆发，香山光复。但革命果实很快就被袁世凯所篡夺。“二次革命”失败。龙济光占据了广东，他的土匪队伍“济军”进驻香山，无恶不作。辛亥革命时逃往港澳的反动豪绅，又纷纷跑回来，封建复辟的恐怖，一时弥漫香山城乡。杨匏安目击这一幕幕，开始思考中国人民、民族的出路，却找不到明确的答案。<br><br>在省立一中毕业后，杨匏安回到家乡恭都小学任教，由于和同事揭发校长贪污，反遭诬害，关进监狱。出狱后，他与堂叔杨章甫等到了日本横滨。期间，自编油印刊物《如此》，借此向华侨控诉家乡军阀豪绅统治的罪恶，和自己由于揭露贪污被诬害入狱的经过；还经常研读有关西方各种流派新学说的日文书籍，为他日后回国发表大量的译著，奠下了根基。<br><br>1916年的冬天，杨匏安从日本回乡，与吴佩琪结婚，婚后到澳门任教。1918年初，举家迁至广州，在私立时敏中学任教，兼任《广东中华新报》记者，与杨章甫寄居司后街杨家祠。“五四”运动爆发后，在广州积极投入反帝爱国斗争。1919年11月，在《广东中华新报》副刊连载《马克思主义》一文。这是华南地区最早系统地介绍马克思主义的文章。1921年，加入中国共产党，是广东最早的一批共产党员之一。入党后，积极参加革命斗争，积极帮助青年学习马克思主义，指导学生运动。杨匏安入党后，他的住家杨家祠成了党的活动据点，党早期的许多会议都是在这里召开的。他和杨章甫还在杨家祠办起了注音字母训练班，为党的活动作掩护。<br><br>1922年夏，军阀陈炯明背叛革命，青年团组织被迫转入地下，曾一度代理青年团广东区委书记的工作。不久，开始从事工人运动，和杨毅一起到广州石井兵工厂，在工人中组织“十人团”，这是石井兵工厂共产党支部的前身。通过“十人团”，向工人宣传马克思主义，提高工人的阶级觉悟。后来，担任粤汉铁路局广州分局编辑主任，经常深入到广三、广九和粤汉铁路工人之中，向工人宣传革命道路，从中培养、吸收了一批铁路工人入党，建立粤汉铁路局黄沙地段党支部，并被选为党支部书记。<br><br>1923年底，在广州黄沙海傍街开办“北江商运局”，承运韶关、清远等地货物，利用滇军押运，以掩护党在粤汉铁路工人中的活动和为党筹划活动经费。1923年6月，根据中共“三大”决定，以共产党身分加入国民党，并担任共产党在国民党中的党团书记。1924年1月，被推举为国民党中央组织部秘书长。1925年6月，到香港发动省港大罢工。7月1日被香港警探逮捕入狱50天，因无“罪证”，只得将他“驱逐出境”。同年9月初，被省港罢工委员会聘为顾问。1925年11月，在国民党广东省党部第一次代表大会上，被选为省党部三个常委之一兼组织部长。1926年1月，在国民党第二次全国代表大会上，又被选为中央委员兼常委。1927年4月初，到达武汉，继续参与国民党中央的活动和全国济难总会工作，并任该会常委。同年春，出席中国共产党第五次全国代表大会，被选为中央监察委员。参加党的“八七”会议后，到上海工作，并去香港、澳门、新加坡等地开展革命活动。<br><br>1929年，杨匏安回到上海，留在党中央机关，参与党的报刊出版工作。他的一家，也由党安排分散住在党的印刷所或交通机关，掩护党的活动。他于公余时间，积极从事编译工作，编译成20余万字的《西洋史要》。这是我国最早用马克思主义的唯物史观写成的一部西洋史著作，是当时国内学习西洋史和国际共产主义运动史极为难得的读物。杨匏安牺牲后，至1936年，这本书还再版了五次。<br><br>1930年间，由于党的印刷机关遭敌人破坏，杨匏安不幸被捕，在上海提篮桥监狱关了8个月。因没有暴露身份，经党营救获释。出狱后继续留在党中央工作。不久，调到中共中央农民运动委员会任农委兼农民部副部长。这年6月，他翻译了列宁和拉比杜斯著的《地租论》，这对当时正在进行土地革命的各革命根据地，颇有参考作用。这年杨匏安还同阮啸仙等在党中央以中国互济会名义举办的干部训练班任课，从事培养党的干部的工作。<br><br>1931年夏，中共中央宣传部负责人罗绮园，因生活作风问题，被叛徒向南京蒋介石告密，以致连累杨匏安等16人被捕。由于杨匏安在国民党内曾任中央常委，影响较大，蒋介石几次派人劝降，都遭严词斥责。1931年8月的一天晚上，杨匏安被国民党反动派秘密枪杀在淞沪警备司令部内的荒地上，时年35岁。`,
                        openTime: "开放时间信息待补充",
                        rating: 4.9,
                        images: ["杨家祠外观", "杨匏安塑像", "旧居内景", "历史文献"],
                        baiduUrl: "https://baike.baidu.com/item/杨匏安旧居陈列馆",
                        wikiUrl: "https://zh.wikipedia.org/wiki/杨匏安",
                        fishbone: 0
                    },
                    {
                        id: 9,
                        name: "毛泽东同志主办农民运动讲习所旧址",
                        description: "1926年毛泽东培养农民运动骨干的地方，建筑为番禺学宫古建群",
                        address: "越秀区中山四路42号",
                        transport: "地铁：农讲所站（1号线）C口直达",
                        details: `毛泽东同志主办农民运动讲习所旧址有着重要的历史意义。1926年5月—9月，毛泽东在此（番禺学宫）举办第六届农民运动讲习所，他还给学生讲授《中国农民问题》《农村教育》《地理》三门课程；并主编了一套《农民问题丛刊》，一共出版了26种，为推动农民运动发展提供理论指导，毛泽东为该丛刊撰写了序言《国民运动与农民运动》，对农民运动理论作出了开拓性探索。<br><br>第六届农民运动讲习所共培养800多名学员，学员们毕业后，奔赴各省、区开展革命工作，大多数人担任农民运动特派员，在各地宣传发动农民，组织农民协会，建立农民革命武装，参加东征、南讨和北伐，开展反对帝国主义和封建主义的斗争。在广州农讲所的影响下，中国各地相继开办了40多个农讲所和农训班，培养了大批革命干部，为中国农民运动的发展和革命事业的推进奠定了坚实的基础。`,
                        openTime: "开放时间信息待补充",
                        rating: 4.7,
                        images: ["图片/农讲所.jpg", "图片/精彩照片/农讲所.jpg", "图片/精彩照片/农讲所2.jpg", "图片/精彩照片/农讲所3.jpg", "图片/精彩照片/农讲所4.jpg"],
                        baiduUrl: "https://baike.baidu.com/item/毛泽东同志主办农民运动讲习所旧址",
                        wikiUrl: "https://zh.wikipedia.org/wiki/广州农民运动讲习所",
                        fishbone: 1
                    },
                    {
                        id: 10,
                        name: "中共三大会址纪念馆",
                        description: "见证1923年中共三大召开，正式确定国共合作方针",
                        address: "越秀区恤孤院路3号",
                        transport: "地铁：东山口站（1/6号线）F口步行10分钟",
                        details: `中共三大会址纪念馆相关历史事件为中共三大在广州召开。<br><br>背景：（1）孙中山大元帅府大本营的建立，为中国共产党在广州从事革命活动提供了有利条件。（2）共产国际第二次代表大会通过了列宁起草的《关于民族与殖民地问题的决议》，指出共产党应帮助各国的革命解放运动。（3）1922年4-5月间和8月底先后召开了广州和杭州西湖两次重要会议，初步确定了国共合作的方向。（4）1923年1月1日，共产国际执委会又通过了由布哈林等人起草的《关于中国共产党与国民党关系问题的决议》。5月24日，共产国际还专门发出一项《对中国共产党第三次代表大会的指示》。（5）为了统一全党思想，确定国共合作的方针、政策和策略。<br><br>内容：（1）出现两种倾向——共产党员应全体加入国民党，并应在工人群众中发展国民党组织和反对全体共产党员加入国民党，尤其反对在工人群众中发展国民党的组织。最后认为两种倾向都是错误的。（2）通过了《关于国民运动及国民党问题的决议案》，决定共产党员以个人身份加入国民党，但仍旧保存组织，并努力从工人团体中，从国民党左派中，吸收有阶级觉悟的革命分子，渐渐扩大共产党。（3）通过了《中国共产党第三次全国代表大会宣言》和党纲、党章草案、党员人政界决议等，改选了中央委员会。<br><br>意义：正式确定了国共合作的方针，对促进中国反帝反封建革命统一战线的形成和革命形势的发展具有重大意义。此后，在中国共产党和共产国际的帮助下，国民党加快了改组步伐。<br><br>后续影响：国民党一大召开，第一次国共合作正式建立，开始准备北伐战争。`,
                        openTime: "开放时间信息待补充",
                        rating: 4.8,
                        images: ["图片/中共三大会址纪念馆.jpg"],
                        baiduUrl: "https://baike.baidu.com/item/中共三大会址纪念馆",
                        wikiUrl: "https://zh.wikipedia.org/wiki/中国共产党第三次全国代表大会",
                        fishbone: 1
                    }
                ]
            },


            3: {
                title: "革命起义与军事摇篮（1927 - 1949）",
                attractions: [
                    {
                        id: 11,
                        name: "广州起义纪念馆（广州公社旧址）",
                        description: "1927年建立中国首个城市苏维埃政权‘广州公社’的地方",
                        address: "越秀区起义路200号之一",
                        transport: "地铁：公园前站（1/2号线）J口步行2分钟",
                        details: `相关历史事件为广州起义。背景：（1）1927年，蒋介石四一二反革命政变，李济深广州四一五反革命政变，汪精卫武汉发动七一五反革命政变。（2）1927年8月7日汉口紧急会议。<br><br>过程：（1）1927年8月20日决定组织广州暴动委员会并部署。（2）1927年9月宁汉合流后汪精卫返回广州。（3）1927年10月29日汪企图重新控制国民党中央，张发奎拥护。（4）11月26日李济深等赴沪出席国民党四中全会预备会。（5）11月17日凌晨爆发张黄事变。（6）11月26日议决发动武装暴动夺取广州政权。（7）12月6日张太雷召开省委常委紧急会议。（8）12月7日张秘密召开工农兵代表大会正式决定于12月12日举行起义。（9）12月10日广州形势危急，12月11日凌晨张太雷、叶挺等誓师。（10）12日上午八点各路起义军同时发动进攻。<br><br>结果：12日下午广州苏维埃政府和工农红军总指挥部所所在地被迫撤离，广州起义失败。`,
                        openTime: "开放时间信息待补充",
                        rating: 4.8,
                        images: ["纪念馆外观", "起义场景复原", "历史文物", "苏维埃政府办公场景"],
                        baiduUrl: "https://baike.baidu.com/item/广州起义纪念馆",
                        wikiUrl: "https://zh.wikipedia.org/wiki/广州起义纪念馆",
                        fishbone: 0
                    },
                    {
                        id: 12,
                        name: "广州起义烈士陵园",
                        description: "纪念1927年广州起义牺牲烈士，含广东革命历史博物馆",
                        address: "越秀区中山二路92号",
                        transport: "地铁：烈士陵园站（1号线）D口直达",
                        details: `该陵园是为纪念1927年广州起义牺牲烈士而建，园内包含广东革命历史博物馆。广州起义背景：（1）1927年，蒋介石四一二反革命政变，李济深广州四一五反革命政变，汪精卫武汉发动七一五反革命政变。（2）1927年8月7日汉口紧急会议。<br><br>过程：（1）1927年8月20日决定组织广州暴动委员会并部署。（2）1927年9月宁汉合流后汪精卫返回广州。（3）1927年10月29日汪企图重新控制国民党中央，张发奎拥护。（4）11月26日李济深等赴沪出席国民党四中全会预备会。（5）11月17日凌晨爆发张黄事变。（6）11月26日议决发动武装暴动夺取广州政权。（7）12月6日张太雷召开省委常委紧急会议。（8）12月7日张秘密召开工农兵代表大会正式决定于12月12日举行起义。（9）12月10日广州形势危急，12月11日凌晨张太雷、叶挺等誓师。（10）12日上午八点各路起义军同时发动进攻。<br><br>结果：12日下午广州苏维埃政府和工农红军总指挥部所所在地被迫撤离，广州起义失败。<br><br>广东革命历史博物馆致力于革命遗址、文物资料的收藏保护、展览展示、宣传教育和科学研究，能让人们深入了解广州近代革命历史。`,
                        openTime: "开放时间信息待补充",
                        rating: 4.7,
                        images: ["图片/广州起义烈士陵园.jpg", "图片/精彩照片/广州起义烈士陵园.jpg", "图片/精彩照片/广州起义烈士陵园1.jpg"],
                        baiduUrl: "https://baike.baidu.com/item/广州起义烈士陵园",
                        wikiUrl: "https://zh.wikipedia.org/wiki/广州起义烈士陵园",
                        fishbone: 1
                    },
                    {
                        id: 13,
                        name: "黄埔军校旧址纪念馆",
                        description: "1924年国共合作创办的军事摇篮，培养众多将领",
                        address: "黄埔区长洲岛",
                        transport: "地铁5号线鱼珠站转轮渡至长洲岛",
                        details: `历史背景：1924年孙中山在苏联和中国共产党的支持下改组国民党，推行“联俄容共”政策。为推翻北洋军阀、统一中国，孙中山决定建立一支革命军队培养军事骨干。<br><br>过程：1924年5月，黄埔军校在广州黄埔长洲岛正式成立（苏联提供资金、武器和军事顾问）；1925 - 1927年，黄埔学生军参与平定广州商团叛乱，两次东征，成为国民革命军核心力量（叶挺独立团）；1927年蒋介石发动“清党”，黄埔军校成为国民党专属机构，部分学生转向中共参与武装斗争（南昌起义、秋收起义）；抗日战争时期，黄埔师生在正面战场（淞沪会战、台儿庄战役）和敌后游击战中均发挥重要作用。<br><br>广州时期（1924 - 1927）初创时期，后因国共分裂停办；<br><br>南京时期（1928 - 1949）迁至南京，改名“中央陆军军官学校”成为国民党嫡系军事教育中心；<br><br>台湾时期（1950至今）1950迁台湾高雄，改称“陆军军官学校”，延续黄埔精神，但影响力减弱。<br><br>精神象征：黄埔精神（爱国、团结、牺牲）被视为中华民族抵御外侮的象征。`,
                        openTime: "开放时间信息待补充",
                        rating: 4.9,
                        images: ["图片/黄埔军校纪念馆.jpg", "图片/精彩照片/黄埔军校1.jpg", "图片/精彩照片/黄埔军校2.jpg", "图片/精彩照片/黄埔军校3.jpg"],
                        baiduUrl: "https://baike.baidu.com/item/黄埔军校旧址纪念馆",
                        wikiUrl: "https://zh.wikipedia.org/wiki/黄埔军校旧址",
                        fishbone: 1
                    }
                ]
            },

            
             4: {
                title: "殖民历史与宗教建筑",
                attractions: [
                    {
                        id: 14,
                        name: "圣心大教堂（石室）",
                        description: "1863年建成的全球四大全石构哥特式教堂",
                        address: "越秀区一德路56号",
                        transport: "地铁：一德路站（6号线）A口步行5分钟",
                        details: `圣心大教堂建于1863年，是全球四大全石构哥特式教堂之一。教堂以其宏伟的建筑规模和精美的哥特式建筑风格闻名，整个建筑采用花岗岩砌筑，外观庄严肃穆，内部装饰华丽，展现了19世纪西方宗教建筑的精湛技艺。<br><br>参观提示：需注意开放时间，5点之前可进入，周日可能有弥撒活动，建议避开弥撒时间参观以获得更好的体验。作为广州重要的历史文化地标和宗教建筑，圣心大教堂见证了近代广州的殖民历史与中西文化交融，是了解广州近代建筑史和宗教史的重要窗口。`,
                        openTime: "开放时间信息待补充（5点之前可进入，周日可能有弥撒）",
                        rating: 4.7,
                        images: ["图片/圣心大教堂.jpg", "图片/精彩照片/圣心大教堂1.jpg", "图片/精彩照片/圣心大教堂2.jpg", "图片/精彩照片/圣心大教堂3.jpg",, "图片/精彩照片/圣心大教堂4.jpg"],
                        baiduUrl: "https://baike.baidu.com/item/广州圣心大教堂",
                        wikiUrl: "https://zh.wikipedia.org/wiki/聖心大教堂_(廣州)",
                        fishbone: 1
                    },
                    {
                        id: 15,
                        name: "沙面堂",
                        description: "19世纪末英国圣公会在沙面租界建造的教堂，拥有广州第一台管风琴",
                        address: "沙面岛（具体位置需结合实地确认）",
                        transport: "地铁：黄沙站（1/6号线）B口步行5分钟",
                        details: `沙面堂由英国圣公会于1861年筹建，1865年前后建成，位于当时广州沙面的英国租界内。分别在1931年和1938年经历两次较大的损坏，但经过多次修缮，主体建筑结构和外观风貌得以保存至今。<br><br>最初的建筑除了教堂主堂外，西侧还有一栋两层的牧师楼。1904年，英国伦敦的Walker风琴公司为沙面堂设计制造并安装了一套精美的双人手动管风琴，成为当时广州的第一台管风琴。<br><br>沙面堂最初被称为广州英国圣公会教堂，由英国圣公会牧师主持，主要为英国船员和侨民提供礼拜服务。1919年后，除了自用外，还租借给其他基督新教宗派的外籍来穗人员组织崇拜聚会。从清末民初到抗日战争年间，沙面堂一直是广州地区唯一供外籍基督徒崇拜聚会的教堂。`,
                        openTime: "开放时间信息待补充",
                        rating: 4.5,
                        images: ["图片/沙面堂.jpg", "图片/精彩照片/沙面堂1.jpg"],
                        baiduUrl: "https://baike.baidu.com/item/沙面堂",
                        wikiUrl: "https://zh.wikipedia.org/wiki/沙面堂",
                        fishbone: 1
                    },
                    {
                        id: 16,
                        name: "泰和洋行旧址",
                        description: "19世纪末英商在沙面设立的商贸机构，典型殖民商贸建筑",
                        address: "沙面岛（具体位置需结合实地确认）",
                        transport: "地铁：黄沙站（1/6号线）B口步行进入沙面岛后步行可达",
                        details: `泰和洋行旧址以其绿色外墙与古红窗框为显著特点，是典型的殖民商贸建筑。英商泰和洋行很早便来华经营，在我国经营范围较广，沿海几个大城市均有分支机构。<br><br>该行最早在英国曼彻斯特成立，1848年在广州开设分行。早期在广州注册开设的这些英国洋行，基本上是在东印度公司领导下或该公司派生出来进行营业的，所营业务多为贩卖鸦片、棉布、茶叶等，泰和洋行也不例外。<br><br>鸦片战争后，对外贸易中心转移到上海，泰和洋行于1849年在上海设行，原址即设在今汉口路110号。作为沙面岛上的重要历史建筑，泰和洋行旧址见证了19世纪末广州对外贸易的兴衰和殖民时期的商贸历史。`,
                        openTime: "外观可参观，内部使用情况待补充",
                        rating: 4.4,
                        images: ["绿色外墙建筑", "红窗框细节", "建筑立面", "沙面街景中的洋行"],
                        baiduUrl: "https://baike.baidu.com/item/泰和洋行旧址",
                        wikiUrl: "https://en.wikipedia.org/wiki/泰和洋行旧址",
                        fishbone: 0
                    },
                    {
                        id: 17,
                        name: "露德圣母堂",
                        description: "1890年法国传教士修建的哥特式天主教堂",
                        address: "沙面大街14号（原沙面同仁路22号）",
                        transport: "地铁：黄沙站（1/6号线）B口步行进入沙面岛后步行可达",
                        details: `沙面露德圣母堂创建于光绪十六年（1890年），占地面积839.75平方米。因该堂花园南连建筑一座圣母山安放露德圣母像而得名。<br><br>这座教堂为哥特式风格，由法国传教士修建，原是法国驻穗领事馆的教友过宗教生活而设立的。建国前，本堂神父多由外籍传教士担任，中国籍神父在此任职较少。建国前夕由中国神父陈惠民任本堂神父。<br><br>作为沙面岛上重要的宗教建筑，露德圣母堂体现了19世纪末法国在广州的宗教影响和哥特式建筑风格在华南地区的传播，是研究近代中西文化交流和宗教传播的重要实物遗存。`,
                        openTime: "开放时间信息待补充",
                        rating: 4.6,
                        images: ["图片/露德圣母堂.jpg", "图片/精彩照片/露德圣母堂.jpg", "图片/精彩照片/露德圣母堂2.jpg"],
                        baiduUrl: "https://baike.baidu.com/item/沙面露德圣母堂",
                        wikiUrl: "https://zh.wikipedia.org/wiki/沙面露德聖母堂",
                        fishbone: 1
                    },
                    {
                        id: 18,
                        name: "汇丰银行旧址",
                        description: "1880年代建成的新古典主义风格建筑，象征殖民金融权力",
                        address: "沙面岛（具体位置需结合实地确认）",
                        transport: "地铁：黄沙站（1/6号线）B口步行进入沙面岛后步行可达",
                        details: `汇丰银行旧址建于19世纪80年代，采用新古典主义风格，是沙面岛上具有代表性的殖民时期金融建筑。其建筑风格庄重典雅，柱式、山花等装饰元素体现了西方古典建筑的特点，彰显了银行作为金融机构的威严与实力。<br><br>在殖民时期，汇丰银行作为重要的外资银行，在广州乃至华南地区的金融活动中扮演了重要角色，该建筑也因此成为殖民金融权力的象征，见证了近代广州金融领域的半殖民地化历程和西方金融势力在华的扩张。`,
                        openTime: "外观可参观，内部使用情况待补充",
                        rating: 4.5,
                        images: ["新古典主义立面", "柱廊细节", "建筑铭牌", "沙面金融建筑群"],
                        baiduUrl: "https://baike.baidu.com/item/汇丰银行广州旧址",
                        wikiUrl: "https://zh.wikipedia.org/wiki",
                        fishbone: 1
                    },
                    {
                        id: 19,
                        name: "英国领事馆旧址",
                        description: "1910年代建成的中西合璧折衷主义风格建筑，现为广东外事博物馆",
                        address: "沙面岛（具体位置需结合实地确认）",
                        transport: "地铁：黄沙站（1/6号线）B口步行进入沙面岛后步行可达",
                        details: `英国领事馆旧址建于20世纪10年代，采用中西合璧的折衷主义风格，融合了西方建筑元素与东方装饰细节，是沙面岛上极具特色的历史建筑之一。<br><br>该建筑在历史上曾作为英国驻广州领事馆，见证了英国在广州的殖民外交活动。如今，该旧址已改造为广东外事博物馆，展示广东地区对外交往的历史文物和资料，成为人们了解广东外事发展历程的重要场所。<br><br>其建筑本身也是研究近代中西建筑文化融合的重要实例，体现了殖民时期建筑风格的多样性与适应性。`,
                        openTime: "开放时间信息待补充（广东外事博物馆开放时间）",
                        rating: 4.6,
                        images: ["图片/英国领事馆.jpg"],
                        baiduUrl: "https://baike.baidu.com/item/英国驻广州领事馆旧址",
                        wikiUrl: "https://zh.wikipedia.org/wiki",
                        fishbone: 1
                    }
                ]
            }
        };



        let currentDay = 1;
        let currentVersion = 'highlight'; // 默认是精华版
        let currentAttraction = null;

        // 初始化页面
        function init() {
            updateDay(1);
            bindEvents();
            // 监听窗口大小变化，实时调整
            window.addEventListener('resize', () => {
                updateFishboneDiagram(currentDay);
            });
        }

        // 绑定事件
        function bindEvents() {
            // 日期按钮事件
            document.querySelectorAll('.date-btn').forEach(btn => {
                btn.addEventListener('click', function() {
                    const day = parseInt(this.dataset.day);
                    updateDay(day);
                });
            });
            
            // 版本选择按钮事件
            document.querySelectorAll('.version-btn').forEach(btn => {
                btn.addEventListener('click', function() {
                    const version = this.dataset.version;
                    updateVersion(version);
                });
            });
            
            // 交通方式按钮点击事件
            document.getElementById('transportBtn').addEventListener('click', function() {
                // 根据当前版本跳转到不同页面
                if (currentVersion === 'highlight') {
                    window.location.href = '交通方式备注精华版.html';
                } else {
                    window.location.href = '交通方式备注.html';
                }
            });
        }

        // 更新日期显示
        function updateDay(day) {
            currentDay = day;
            
            // 更新按钮状态
            document.querySelectorAll('.date-btn').forEach(btn => {
                btn.classList.remove('active');
            });
            document.querySelector(`[data-day="${day}"]`).classList.add('active');
            
            // 更新标题
            document.getElementById('currentTitle').textContent = dayData[day].title;
            
            // 更新鱼骨图
            updateFishboneDiagram(day);
            
            // 根据当前版本更新景点列表
            updateAttractionsByVersion(currentVersion);
        }
        
        // 更新版本显示
        function updateVersion(version) {
            currentVersion = version;
            
            // 更新按钮状态
            document.querySelectorAll('.version-btn').forEach(btn => {
                btn.classList.remove('active');
            });
            document.querySelector(`[data-version="${version}"]`).classList.add('active');
            
            // 根据选择的版本更新景点列表
            updateAttractionsByVersion(version);
        }
        
        // 根据版本更新景点列表
        function updateAttractionsByVersion(version) {
            const data = dayData[currentDay];
            
            // 显示/隐藏对应板块
            if (version === 'highlight') {
                // 精华版 - 显示区分的两个板块
                document.getElementById('highlightSection').style.display = 'block';
                document.getElementById('extendedSection').style.display = 'block';
                document.getElementById('fullSection').style.display = 'none';
                
                // 更新精华和拓展景点
                updateHighlightAttractions(data);
            } else {
                // 完整版 - 显示不区分的一个板块
                document.getElementById('highlightSection').style.display = 'none';
                document.getElementById('extendedSection').style.display = 'none';
                document.getElementById('fullSection').style.display = 'block';
                
                // 更新完整景点列表
                updateFullAttractions(data);
            }
        }

        // 更新鱼骨图
        function updateFishboneDiagram(day) {
            const data = dayData[day];
            const svg = document.querySelector('.fishbone-svg');
            
            // 清除现有的鱼刺和景点
            svg.querySelectorAll('.fishbone-bone, .fishbone-point, .fishbone-text, .fishbone-clickarea').forEach(el => el.remove());
            
            const totalAttractions = data.attractions.length;
            
            if (totalAttractions === 0) return;
            
            const spacing = (720 - 80) / (totalAttractions + 1);
            const isMobile = window.innerWidth < 768; // 检测移动设备

            data.attractions.forEach((attraction, index) => {
                const isUpper = index % 2 === 0;
                const xPosition = 80 + (index + 1) * spacing;

                const boneLength = isMobile ? 150 : 120;
                const boneAngle = isUpper ? -45 : 45;
                const radians = (boneAngle * Math.PI) / 180;
                const endX = xPosition + Math.cos(radians) * boneLength;
                const endY = 150 + Math.sin(radians) * boneLength;

                // 创建鱼刺
                const bone = document.createElementNS('http://www.w3.org/2000/svg', 'line');
                bone.setAttribute('x1', xPosition);
                bone.setAttribute('y1', 150);
                bone.setAttribute('x2', endX);
                bone.setAttribute('y2', endY);
                bone.setAttribute('stroke', attraction.fishbone === 1 ? '#dc2626' : '#ef4444');
                bone.setAttribute('stroke-width', attraction.fishbone === 1 ? '3' : '2');
                bone.classList.add('fishbone-bone');
                svg.appendChild(bone);

                // 文本换行处理
                const name = attraction.name;
                const maxCharsPerLine = isMobile ? 4 : 4;
                const lines = [];
                
                for (let i = 0; i < name.length; i += maxCharsPerLine) {
                    lines.push(name.substring(i, i + maxCharsPerLine));
                }
                
                // 基础参数设置
                const baseFontSize = isMobile ? 25 : 12;
                const fontSize = baseFontSize;
                const lineHeight = fontSize * 1.2;
                const padding = 6;
                
                // 计算圆的半径
                const maxLineLength = Math.max(...lines.map(line => line.length));
                const textWidth = maxLineLength * fontSize * 0.6;
                const textHeight = lines.length * lineHeight;
                const radius = 1.5*Math.ceil(Math.max(textWidth, textHeight) / 2 + padding);
                
                // 创建景点圆圈
                const point = document.createElementNS('http://www.w3.org/2000/svg', 'circle');
                point.setAttribute('cx', endX);
                point.setAttribute('cy', endY);
                point.setAttribute('r', radius);
                point.setAttribute('stroke-width', '2');
                point.classList.add('fishbone-point', `fishbone-${attraction.fishbone}`);
                point.addEventListener('click', () => showAttractionDetail(attraction));
                svg.appendChild(point);

                // 创建景点标签
                const label = document.createElementNS('http://www.w3.org/2000/svg', 'text');
                label.setAttribute('x', endX);
                label.setAttribute('y', endY);
                label.setAttribute('fill', 'white');
                label.setAttribute('font-size', fontSize);
                label.setAttribute('class', 'fishbone-text');
                
                // 计算第一行的垂直偏移量
                const firstLineOffset = -(lines.length - 1) * lineHeight / 2;
                
                lines.forEach((line, lineIndex) => {
                    const tspan = document.createElementNS('http://www.w3.org/2000/svg', 'tspan');
                    tspan.setAttribute('x', endX);
                    tspan.setAttribute('dy', lineIndex === 0 ? firstLineOffset : lineHeight);
                    tspan.textContent = line;
                    label.appendChild(tspan);
                });
                
                svg.appendChild(label);

                // 创建点击区域
                const clickArea = document.createElementNS('http://www.w3.org/2000/svg', 'circle');
                clickArea.setAttribute('cx', endX);
                clickArea.setAttribute('cy', endY);
                clickArea.setAttribute('r', radius);
                clickArea.setAttribute('fill', 'transparent');
                clickArea.classList.add('fishbone-clickarea');
                clickArea.addEventListener('click', () => showAttractionDetail(attraction));
                svg.appendChild(clickArea);
            });
        }

        // 更新精华和拓展景点列表
        function updateHighlightAttractions(data) {
            const highlightGrid = document.getElementById('highlightAttractionsGrid');
            const extendedGrid = document.getElementById('extendedAttractionsGrid');
            
            // 清空现有内容
            highlightGrid.innerHTML = '';
            extendedGrid.innerHTML = '';
            
            data.attractions.forEach(attraction => {
                // 创建景点卡片
                const card = document.createElement('div');
                card.className = `attraction-card fishbone-${attraction.fishbone}`;
                
                // 获取景点的第一张图片
                const firstImage = attraction.images && attraction.images.length > 0 ? attraction.images[0] : '';
                
                card.innerHTML = `
                    <img src="${firstImage}" alt="${attraction.name}" class="attraction-image">
                    <h4>
                        <span class="fishbone-marker fishbone-marker-${attraction.fishbone}">
                            ${attraction.fishbone === 1 ? '精华景点' : '拓展景点'}
                        </span>
                        ${attraction.name}
                    </h4>
                    <p>${attraction.description}</p>
                    <div class="attraction-meta">
                        <span>⭐ ${attraction.rating}</span>
                        <span>🕒 ${attraction.openTime}</span>
                    </div>
                `;
                card.addEventListener('click', () => showAttractionDetail(attraction));
                
                // 根据类型添加到不同的网格
                if (attraction.fishbone === 1) {
                    highlightGrid.appendChild(card);
                } else {
                    extendedGrid.appendChild(card);
                }
            });
        }
        
        // 更新完整版景点列表（不区分精华和拓展）
        function updateFullAttractions(data) {
            const fullGrid = document.getElementById('fullAttractionsGrid');
            
            // 清空现有内容
            fullGrid.innerHTML = '';
            
            data.attractions.forEach(attraction => {
                // 创建景点卡片（不显示精华/拓展标记）
                const card = document.createElement('div');
                card.className = `attraction-card`;
                
                // 获取景点的第一张图片
                const firstImage = attraction.images && attraction.images.length > 0 ? attraction.images[0] : '';
                
                card.innerHTML = `
                    <img src="${firstImage}" alt="${attraction.name}" class="attraction-image">
                    <h4>${attraction.name}</h4>
                    <p>${attraction.description}</p>
                    <div class="attraction-meta">
                        <span>⭐ ${attraction.rating}</span>
                        <span>🕒 ${attraction.openTime}</span>
                    </div>
                `;
                card.addEventListener('click', () => showAttractionDetail(attraction));
                
                fullGrid.appendChild(card);
            });
        }

        // 显示景点详情
        function showAttractionDetail(attraction) {
            currentAttraction = attraction;
            
            // 更新详情页内容
            document.getElementById('detailTitle').textContent = attraction.name;
            document.getElementById('detailDescription').textContent = attraction.description;
            document.getElementById('detailRating').textContent = attraction.rating;
            document.getElementById('detailTime').textContent = attraction.openTime;
            
            // 地址信息单独提取并显示在最前面
            document.getElementById('detailAddress').textContent = attraction.address;
            document.getElementById('detailTransport').textContent = "交通：" + attraction.transport;
            
            // 重置复制成功提示
            document.getElementById('addressSuccess').style.display = 'none';
            document.getElementById('transportSuccess').style.display = 'none';
            
            // 详细介绍使用HTML格式显示
            document.getElementById('detailDetails').innerHTML = attraction.details;
            
            // 更新图片
            const imagesGrid = document.getElementById('imagesGrid');
            imagesGrid.innerHTML = ''; // 清空现有内容
            
            attraction.images.forEach(imgFileName => {
                const imgContainer = document.createElement('div');
                imgContainer.innerHTML = `<img src="${imgFileName}" alt="${imgFileName}" style="width:100%; height:100%; object-fit:cover; border-radius:0.5rem;">`;
                imagesGrid.appendChild(imgContainer);
            });

            // 更新跳转链接
            document.getElementById('baiduLink').href = attraction.baiduUrl;
            document.getElementById('wikiLink').href = attraction.wikiUrl;
            
            // 显示详情页
            document.getElementById('mainPage').style.display = 'none';
            document.getElementById('detailPage').classList.add('active');
        }

        // 显示主页面
        function showMainPage() {
            document.getElementById('detailPage').classList.remove('active');
            document.getElementById('mainPage').style.display = 'block';
        }

        // 复制到剪贴板功能
        function copyToClipboard(elementId) {
            const element = document.getElementById(elementId);
            const textToCopy = element.textContent;
            
            navigator.clipboard.writeText(textToCopy).then(() => {
                // 显示复制成功提示
                const successElement = document.getElementById(
                    elementId === 'detailAddress' ? 'addressSuccess' : 'transportSuccess'
                );
                successElement.style.display = 'inline';
                
                // 3秒后隐藏提示
                setTimeout(() => {
                    successElement.style.display = 'none';
                }, 3000);
            }).catch(err => {
                console.error('复制失败: ', err);
            });
        }

        // 初始化
        document.addEventListener('DOMContentLoaded', init);
    </script>
</body>
</html>
    